home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / dev / Oberon_Interfaces / Interfaces / MathFFP.mod < prev    next >
Text File  |  1994-03-05  |  2KB  |  66 lines

  1. (*
  2. (*
  3. **  Amiga Oberon Interface Module:
  4. **  $VER: MathFFP.mod 40.15 (28.12.93) Oberon 3.0
  5. **
  6. **   © 1993 by Fridtjof Siebert
  7. *)
  8. *)
  9.  
  10. MODULE MathFFP;
  11.  
  12. IMPORT
  13.   Exec *;
  14.  
  15. CONST
  16.   pi    * = 3.141592653589793;
  17.   twoPi * = 2 * pi;
  18.   pi2   * = pi / 2;
  19.   pi4   * = pi / 4;
  20.  
  21.   e     * = 2.718281828459045;
  22.   log10 * = 2.302585092994046;
  23.  
  24.   fpTen  * = 10;
  25.   fpOne  * = 1;
  26.   fpHalf * = 1/2;
  27.   fpZero * = 0;
  28.  
  29. CONST
  30.   MathFFPName * = "mathffp.library";
  31.  
  32. VAR
  33.   base * : Exec.LibraryPtr;
  34.  
  35. (*--- functions in V33 or higher (Release 1.2) ---*)
  36.  
  37. PROCEDURE Fix  * {base,-30}(x{0} : REAL): LONGINT;
  38. PROCEDURE Flt  * {base,-36}(x{0} : LONGINT): REAL;
  39. PROCEDURE Cmp  * {base,-42}(x{1} : REAL;
  40.                             y{0} : REAL): LONGINT;
  41. PROCEDURE Tst  * {base,-48}(x{1} : REAL): LONGINT;
  42. PROCEDURE Abs  * {base,-54}(x{0} : REAL): REAL;
  43. PROCEDURE Neg  * {base,-60}(x{0} : REAL): REAL;
  44. PROCEDURE Add  * {base,-66}(x{0} : REAL;
  45.                             y{1} : REAL): REAL;
  46. PROCEDURE Sub  * {base,-72}(x{0} : REAL;
  47.                             y{1} : REAL): REAL;
  48. PROCEDURE Mul  * {base,-78}(x{0} : REAL;
  49.                             y{1} : REAL): REAL;
  50. PROCEDURE Div  * {base,-84}(x{0} : REAL;
  51.                             y{1} : REAL): REAL;
  52. PROCEDURE Floor* {base,-90}(x{0} : REAL): REAL;
  53. PROCEDURE Ceil * {base,-96}(x{0} : REAL): REAL;
  54.  
  55. (* $OvflChk- $RangeChk- $StackChk- $NilChk- $ReturnChk- $CaseChk- *)
  56.  
  57. BEGIN
  58.   base := Exec.OpenLibrary(MathFFPName,33);
  59.   IF base=NIL THEN HALT(20) END;
  60.  
  61. CLOSE
  62.   IF base#NIL THEN Exec.CloseLibrary(base) END;
  63.  
  64. END MathFFP.
  65.  
  66.